﻿using PropertyChanged;
using SmartExporter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AllInOne.EntityShowInfo
{
    /// <summary>
    /// 门卫信息数据导出实体类
    /// 说明：主要是注册信息、过车重量信息
    /// </summary>
    [AddINotifyPropertyChangedInterface]
    public class RegisterInfo_ExcelOut
    {
        /// <summary>
        /// 主键id
        /// </summary>
        public int Id { get; set; } = -1;
        /// <summary>
        /// IC卡号
        /// </summary>
        [ExcelDisplayInfo("IC卡号", 1)]
        public string ICardNum { get; set; }
        /// <summary>
        /// 人员姓名
        /// </summary>
        [ExcelDisplayInfo("制卡人", 2)]
        public string RegName { get; set; }
        /// <summary>
        /// 身份证号
        /// </summary>
        [ExcelDisplayInfo("身份证号", 3)]
        public string IdentityNum { get; set; }
        /// <summary>
        ///司机手机号
        /// </summary>
        [ExcelDisplayInfo("制卡人手机", 4)]
        public string RegPhone { get; set; }
        /// <summary>
        /// 货物名字
        /// </summary>
        [ExcelDisplayInfo("货物", 5)]
        public string GoodsName { get; set; }
        /// <summary>
        /// 单位（装卸货）
        /// </summary>
        [ExcelDisplayInfo("发货单位", 6)]
        public string Company { get; set; }
        /// <summary>
        /// 收货单位
        /// </summary>
        [ExcelDisplayInfo("收货单位", 7)]
        public string Revicer { get; set; }
        /// <summary>
        /// 领卡时间	
        /// </summary>
        [ExcelDisplayInfo("制卡时间", 8)]
        public DateTime ReceiveTime { get; set; }
        /// <summary>
        /// 还卡时间
        /// </summary>
        [ExcelDisplayInfo("还卡时间", 9)]
        public DateTime ReturnTime { get; set; }
        /// <summary>
        /// 毛重
        /// </summary>
        [ExcelDisplayInfo("毛重", 10)]
        public decimal? GrossWeight { get; set; }
        /// <summary>
        /// 毛重时间
        /// </summary>
        [ExcelDisplayInfo("毛重时间", 11)]
        public DateTime GrossTime { get; set; }

        /// <summary>
        /// 皮重
        /// </summary>
        [ExcelDisplayInfo("皮重", 12)]
        public decimal? TareWeight { get; set; }
        /// <summary>
        /// 皮重时间
        /// </summary>
        [ExcelDisplayInfo("皮重时间", 13)]
        public DateTime TareTime { get; set; }

        /// <summary>
        /// 净重
        /// </summary>
        [ExcelDisplayInfo("净重", 14)]
        public decimal? NetWeight { get; set; }
        /// <summary>
        /// IC卡状态：损坏禁用、未使用、入场录入信息、出厂已归还
        /// </summary>
        [ExcelDisplayInfo("卡状态", 15)]
        public int CardStatus { get; set; }
        /// <summary>
        /// 唯一识别号
        /// </summary>
        public string Guid { get; set; }
        /// <summary>
        ///车牌号
        /// </summary>        
        [ExcelDisplayInfo("车牌号", 16)]
        public string Plate { get; set; }
        /// <summary>
        /// 随车人员
        /// </summary>
        [ExcelDisplayInfo("随车人员", 17)]
        public string DriverName2 { get; set; }
        /// <summary>
        /// 人员手机
        /// </summary>
        [ExcelDisplayInfo("人员手机", 18)]
        public string DriverPhone2 { get; set; }
        
        /// <summary>
        /// 卡类型：入厂货物制卡，出厂货物制卡，
        /// 备注:厂内流转货物不导出
        /// </summary>
        [ExcelDisplayInfo("卡类型", 19)]
        public int CardType { get; set; }

        /// <summary>
        /// 地址
        /// </summary>
        [ExcelDisplayInfo("地址", 20)]
        public string Value3 { get; set; }

        #region 集控那边可能会修改 发货单位、货物名称,故这两个字段以为主
        /// <summary>
        /// WeightRecord表中 发货单位
        /// </summary>
        public string SendCptName { get; set; }
        /// <summary>
        /// WeightRecord表中 货物名称
        /// </summary>
        public string MultipleGoodsName { get; set; }// WeightRecord 当为【多种货物】时需要将集控保存的货名查询出来
        #endregion
    }
}
